Supplement a 2d display with the two 1d marginal distributions and then convert them with ggplotly
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
plotly::ggplotly(p)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p <- p + geom_rug()
plotly::ggplotly(p)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p <- p + geom_rug(sides="b") # Rug on bottom only
plotly::ggplotly(p)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p <- p + geom_rug(sides="trbl") # All four sides
plotly::ggplotly(p)
p <-
ggplot(mpg, aes(displ, cty)) +
geom_point() +
geom_rug()
plotly::ggplotly(p)
p <-
ggplot(mpg, aes(displ, cty)) +
geom_jitter() +
geom_rug(alpha = 1/2, position = "jitter")
plotly::ggplotly(p)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p <-
p +
geom_rug(outside = TRUE) +
coord_cartesian(clip = "off")
plotly::ggplotly(p)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p <-
p +
geom_rug(outside = TRUE, sides = "tr") +
coord_cartesian(clip = "off") +
theme(plot.margin = margin(1, 1, 1, 1, "cm"))
plotly::ggplotly(p)
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p <-
p +
geom_rug(length = unit(0.05, "npc")) +
scale_y_continuous(expand = c(0.1, 0.1))
plotly::ggplotly(p)